﻿using System;
using System.Collections.Generic;

namespace Myotragus.Data.Containers
{
	public interface ITypeRegistrar
	{
		ITypeRegistrar RegisterFor(Type implementation, IEnumerable<Type> interfaces);

		ITypeRegistrar RegisterFor(Type implementation, params Type[] interfaces);

		ITypeRegistrar RegisterForAll(IEnumerable<Type> implementations);

		ITypeRegistrar RegisterForAll(params Type[] implementations);

		ITypeRegistrar RegisterForDefault(IEnumerable<Type> implementations);

		ITypeRegistrar RegisterForDefault(params Type[] implementations);
	}
}